#ifndef __mPointArray__
#define __mPointArray__

#include <vector>
#include <stdlib.h>
#include <cmath>
#include <stdio.h>
#include "mPoint.h"
#include "mArea.h"
//*******************************************//
//**                                       **//
//*******************************************//
class mPointArray :public mArea , public  std::vector<mPoint>
{
public:
    mPointArray() {}

    //******************************************//
    int Add(mPoint,bool remove=false);
    int Add(mPointArray,bool remove=false);

    //***************//
    //**
    bool Swap(int,int);
    bool Del(uint);

    //***************//
    //**           **//
    //***************//
    mPoint Bezier(double);

    //***************//
    //** modifiers **//
    //***************//
    void LevelZ(double);
    void SortX();
    void SortY();
    void GetShortestPath();
    void Scale(double);
    bool Translate(mPoint);
    bool RotateX(double angle);
    bool RotateZ(double angle);
    bool Projection(double Dist=500);

    uint Select(double X,double Y,double DIST=2);
    void Clear();
};
#endif // __mPoint__
